<?php

	switch ($this->request->data['Agenda']['tipo_horario']) {
		case 'E':
			$tipo_horario = 'ENCAIXE';
			break;
		case 'T':
			$tipo_horario = 'EXTRA';
			break;		
		default:
			$tipo_horario = '';
			break;	
	}

	echo '<table width="100%">';
	echo '<tr><td>Médico(a):</td><td><b>'  . $this->request->data['Medico']['nome'] . '</b></td></tr>';
	echo '<tr><td>Data:</td><td><b>'  . $this->request->data['Agenda']['data_agenda'] . ' - ' . $this->request->data['Agenda']['dia_semana'] . '</b></td></tr>';
	echo '<tr><td>Horário:</td><td><span id="span_horario" style="font-weight:bold;">'  . substr($this->request->data['Agenda']['horario'],0,5) . '</span>' . "<span id='span_tipo_horario' style='float:right;color:red;'>$tipo_horario</span>" . '</td></tr>';
	echo '<tr><td width="20%"></td><td><span style="color:gray;float:right;font-size:10px;">Senha Telefone: ' . $this->request->data['Medico']['senha_telefone'] . '</span></td></tr>';
	echo '</table>';
	echo '<hr />';
	
	echo '<div id="dados_horario">';
	
		if ($permite_excluir) {
			echo '<div id="div_link_excluir" style="float:right;">';
			echo $this->Html->link('Excluir', "javascript:excluir('{$this->request->data['Agenda']['id']}');", array('class' => 'agenda_link_excluir'));
			echo '</div>';
		}
		echo '<div id="div_link_encaixe" style="float:right;padding-right:20px;">';
		echo $this->Html->link('Encaixe', "javascript:encaixe('{$this->request->data['Agenda']['id']}');", array('class' => 'agenda_link_incluir'));
		echo '</div>';
		echo '<div id="div_link_extra" style="float:right;padding-right:5px;">';
		echo $this->Html->link('Extra', "javascript:extra('{$this->request->data['Agenda']['id']}');", array('class' => 'agenda_link_extra'));
		echo '</div>';		
		
		echo $this->Form->create('Agenda');
		echo $this->Form->input('id', array('type' => 'hidden'));
		echo $this->Form->input('medico_id', array('type' => 'hidden'));
		echo $this->Form->input('data_agenda', array('type' => 'hidden'));
		echo $this->Form->input('dia_semana', array('type' => 'hidden'));
		echo $this->Form->input('tipo_horario', array('type' => 'hidden'));
		echo $this->Form->input('horario', array('type' => 'hidden'));
		echo $this->Form->input('paciente_id', array('type' => 'hidden'));
		echo $this->Form->input('situacao', array('type' => 'select', 'options' => $situacoes, 'label' => __('Situação')));
		echo $this->Form->input('tipo_confirmacao_id', array('type' => 'select', 'options' => $tipos_confirmacao, 'empty' => 'Selecione...', 'label' => __('Confirmação')));
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('sala_id', array('type' => 'select', 'options' => $salas,'empty' => 'Selecione...', 'label' => __('Sala')));
		if ($permite_ocupar) {
			echo $this->Form->input('ocupar_horarios', array('type' => 'select', 'options' => array(1 => '1 horário', 2 => '2 horários', 3 => '3 horários'), 'label' => __('Bloquear')));
		}
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('paciente_nome', array('type' => 'text', 'label' => __('Paciente'), 'class' => 'tamanho40', 'value' => $this->request->data['Paciente']['nome'] ));
		echo '<div id="agenda_div_incluir_paciente" title="Incluir Paciente"></div>';
		echo $this->Form->input('primeira_vez', array('type' => 'select', 'empty' => 'Selecione...', 'options' => $primeira_vez, 'label' => __('Primeira Vez')));
		echo $this->Form->input('data_ultima_consulta', array('type' => 'text', 'label' => __('Última Consulta'), 'class' => 'data readonly', 'readonly' => 'readonly'));
		echo '<div style="clear:both;"></div>';
		echo '<fieldset><legend>Telefones do Paciente</legend><span id="span_telefones_paciente" style="font-size:12px;">' . @$telefones_paciente . '</span></fieldset>';
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('convenio_id', array('type' => 'select', 'options' => $convenios_paciente, 'empty' => 'Selecione...', 'class' => 'tamanho50', 'label' => __('Convênios do Paciente')));
		echo $this->Form->input('solicita_adiantamento', array('type' => 'select', 'options' => $solic_adiantamento, 'class' => 'tamanho20', 'label' => __('Solicita Adiantamento')));
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('observacoes_do_convenio', array('label' => __('Observações do Convênio'), 'type' => 'textarea', 'maxlength' => 500, 'readonly' => 'readonly', 'class' => 'readonly', 'style' => 'height:50px;width:99%'));
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('tipo_procedimento_id', array('type' => 'select', 'class' => 'tamanho20', 'options' => $tipos_procedimento, 'empty' => 'Selecione...', 'label' => __('Tipo Procedimento')));
		echo $this->Form->input('procedimento_id', array('type' => 'select', 'class' => 'tamanho40', 'options' => $procedimentos, 'empty' => 'Selecione...', 'label' => __('Procedimento')));
		echo $this->Form->input('preco_procedimento', array('type' => 'text', 'label' => __('R$'), 'class' => 'moeda readonly', 'readonly' => 'readonly'));
		//echo '<div id="preco_procedimento" style="float:left;font-size:15px;margin-top:17px;color:#4682B4;"></div>';		
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('observacoes', array('label' => __('Observações'), 'type' => 'textarea', 'maxlength' => 500, 'style' => 'height:50px;width:99%'));	
		echo '<div class="botoes_form">';
		echo $this->Form->button('Gravar', array('type' => 'button', 'onClick' => "javascript:gravar_marcacao();"));
		echo $this->Form->button('Fechar', array('type' => 'button', 'onClick' => "$('#dialog_agendar').dialog('close');"));
		echo '</div>'; 
		echo '<div style="font-size:10px;margin-top:10px;">';
		echo 'Criado em ' . $this->request->data['Agenda']['created'] . ' por ' . $this->request->data['Agenda']['created_username'];
		if ($this->request->data['Agenda']['modified_username'])
			echo ' :: Modificado em ' . $this->request->data['Agenda']['modified'] . ' por ' . $this->request->data['Agenda']['modified_username'];
		echo '</div>';	
		echo $this->Form->end();
	
	echo '</div>';
	
	echo '<div id="incluir_paciente" style="display:none;">';
	
		echo '<h3>Cadastrar Novo Paciente</h3>';
		echo $this->Form->create('IncluirPaciente');
		echo $this->Form->input('nome',array('type' => 'text', 'class' => 'tamanho50', 'label' => __('Nome'), 'maxlength' => 100));
		echo $this->Form->input('data_nascimento', array('type' => 'text', 'class' => 'maskdata data', 'label' => __('Dt Nasc')));
		//echo $this->Form->input('primeira_vez',array('type' => 'select', 'options' => $primeira_vez, 'empty' => 'Selecione...', 'class' => 'tamanho15', 'label' => __('1a. Vez')));
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('telefone1',array('class' => 'masktelefone tel', 'label' => __('Telefone fixo 1')));
		echo $this->Form->input('telefone1_nome',array('type' => 'text', 'class' => 'tamanho20', 'label' => __('Nome (Telefone 1) '), 'maxlength' => 50));
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('telefone2',array('class' => 'masktelefone tel', 'label' => __('Telefone fixo 2')));
		echo $this->Form->input('telefone2_nome',array('type' => 'text', 'class' => 'tamanho20', 'label' => __('Nome (Telefone 2) '), 'maxlength' => 50));

		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('celular1',array('class' => 'masktelefone tel', 'label' => __('Telefone celular 1')));
		echo $this->Form->input('celular1_nome',array('type' => 'text', 'class' => 'tamanho20', 'label' => __('Nome (Celular 1) '), 'maxlength' => 50));		

		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('celular2',array('class' => 'masktelefone tel', 'label' => __('Telefone celular 2')));
		echo $this->Form->input('celular2_nome',array('type' => 'text', 'class' => 'tamanho20', 'label' => __('Nome (Celular 2) '), 'maxlength' => 50));		

		echo '<div style="clear:both;"></div>';	
		echo $this->Form->input('celular3',array('class' => 'masktelefone9 tel', 'label' => __('Telefone (Nove Dígitos)')));
		echo $this->Form->input('celular3_nome',array('type' => 'text', 'class' => 'tamanho20', 'label' => __('Nome (Celular 3)'), 'maxlength' => 50));		
		
		echo '<div style="clear:both;"></div>';
		echo $this->Form->input('convenio_id',array('type' => 'select', 'options' => $convenios, 'empty' => 'Selecione...', 'class' => 'tamanho50', 'label' => __('Convênio')));
		//echo $this->Form->input('data_validade', array('label' => __('Dt Validade'), 'type' => 'text', 'class' => 'maskdata data'));
		echo '<div class="botoes_form" id="botoes_form_incluir_paciente">';
		echo $this->Form->button('Incluir', array('type'=>'button', 'id' => 'bt_novo_paciente_incluir'));
		echo $this->Form->button('Voltar', array('type'=>'button', 'id' => 'bt_novo_paciente_voltar'));
		echo '</div>'; 
		echo $this->Form->end();
		
	echo '</div>';
	
	echo '<div id="restricao_paciente" style="display:none;">';
	
		echo '<h3>Restrição ao Paciente</h3>';
		echo $this->Form->create('RestricaoPaciente');
		echo $this->Form->input('recomendacoes', array('label' => __('Recomendações'), 'type' => 'textarea', 'style' => 'height:200px;width:99%'));
		echo '<div class="botoes_form">';
		echo $this->Form->button('Continuar Marcação', array('type'=>'button', 'id' => 'bt_restricao_paciente_voltar'));
		echo $this->Form->button('Não Marcar', array('type' => 'button', 'class' => 'botao_vermelho', 'onClick' => "$('#dialog_agendar').dialog('close');"));
		echo '</div>'; 
		echo $this->Form->end();
		
	echo '</div>';
	
?>

<script type="text/javascript" src="<?php echo $this->request->base; ?>/js/jquery.maskedinput-1.2.2.min.js"></script>
<script type="text/javascript" src="<?php echo $this->request->base; ?>/js/maskinput.js"></script>
<script type="text/javascript" src="<?php echo $this->request->base; ?>/js/jquery.ui.datepicker-pt-BR.js"></script>
<script type="text/javascript" src="<?php echo $this->request->base; ?>/js/datepicker.js"></script>

<script>

	$("#AgendaPacienteNome").focus();

	$("#AgendaPacienteNome").autocomplete({
		source: function( request, response ) {
			$.ajax({
				url: root() + '/pacientes/pesquisar/',
				dataType: "jsonp",
				data: {
					nome: request.term
				},
				success: function( data ) {
					response( $.map( data, function( item ) {
						return {
							id: item.id,
							value: item.value
						}
					}));
				}
			});
		},
		minLength: 3,
		select: function( event, ui ) {
			$("#AgendaPacienteId").val(ui.item.id);
			$("#AgendaPacienteNome").val(ui.item.value);
			carregar_convenios();
			buscar_ultimo_atendimento();
			buscar_telefones_paciente();
			verificar_restricao();
			confere_primeira_vez();
		},
		open: function() {
			$( this ).removeClass( "ui-corner-all" ).addClass( "ui-corner-top" );
		},
		close: function() {
			$( this ).removeClass( "ui-corner-top" ).addClass( "ui-corner-all" );
		}
	});

	$('#AgendaConvenioId').change(function(){

		buscar_observacoes_agenda();
		busca_preco_procedimento();
		//verificar_primeira_vez();

	});
		
	$('#AgendaTipoProcedimentoId').change(function(){

		$.ajax({
			type: 'POST',
			url: root() + '/procedimentos/get_procedimentos_list/' + $(this).val(),
			async: true,
			beforeSend : function() {
				$('#AgendaProcedimentoId').html('<option>Carregando...</option>');
			},
			success: function(retorno){
				$('#AgendaProcedimentoId').html(retorno);
			}
		});		
		
	});

	$('#AgendaProcedimentoId').change(function(){

		busca_preco_procedimento();		
		
	});	

	

	$('#agenda_div_incluir_paciente').click(function(){
		$('#dados_horario').hide();
		$('#incluir_paciente').fadeIn();
		$('#IncluirPacienteNome').val( $('#AgendaPacienteNome').val() );
	});

	$('#bt_novo_paciente_voltar').click(function(){
		$('#incluir_paciente').hide();
		$('#dados_horario').fadeIn();		
	});

	$('#bt_restricao_paciente_voltar').click(function(){
		$('#restricao_paciente').hide();
		$('#dados_horario').fadeIn();		
	});	

	$('#bt_novo_paciente_incluir').click(function(){

		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: root() + '/agendas/incluir_paciente/',
			async: true,
			data: $('#IncluirPacienteAlterarForm').serialize(),
			beforeSend : function() {
				$('#incluir_paciente').css('opacity','0.4');
				$('#botoes_form_incluir_paciente').hide();
			},
			success: function(retorno){
				$('#incluir_paciente').css('opacity','1');
				$('#botoes_form_incluir_paciente').show();
				if (!retorno.sucesso) {
					alert(retorno.mensagem);
				} else {
					$('#AgendaPacienteId').val( retorno.paciente_id );
					$('#AgendaPacienteNome').val( $('#IncluirPacienteNome').val() );
					//$('#AgendaConvenioId').html('<option value="0">Selecione...</option><option selected="selected" value="' + $('#IncluirPacienteConvenioId').val() + '">' + $('#IncluirPacienteConvenioId').find('option').filter(':selected').text() + '</option>');
					$('#incluir_paciente').hide();
					$('#dados_horario').fadeIn();
					buscar_telefones_paciente();
					//buscar_observacoes_agenda();
					confere_primeira_vez();
					carregar_convenios();
				}
			},
			error : function() {
				$('#incluir_paciente').css('opacity','1');
				$('#botoes_form_incluir_paciente').show();
				alert('Houve um erro ao tentar incluir o paciente!');
			}			
		});
				
	});	

	function carregar_convenios() {

		$.ajax({
			type: 'POST',
			url: '<?php echo $this->request->base; ?>/pacientes/get_convenios_list/' + $('#AgendaPacienteId').val(),
			async: false,
			beforeSend : function() {
				$('#AgendaConvenioId').html('<option>Carregando...</option>');
			},
			success: function(retorno){
				$('#AgendaConvenioId').html(retorno);
				buscar_observacoes_agenda();
			}
		});		
		
	}
	
	function gravar_marcacao() {

		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: '<?php echo $this->request->base; ?>/agendas/alterar/',
			async: true,
			data: $('#AgendaAlterarForm').serialize(),
			beforeSend : function() {
				$('#dialog_agendar_conteudo').css('opacity','0.4');
			},
			success: function(resultado){
				$('#dialog_agendar_conteudo').css('opacity','1');
				if (!resultado.sucesso) {
					$('#agenda_dialog_msg_'+resultado.tipo).dialog('open');
					$('#agenda_dialog_msg_'+resultado.tipo+'_conteudo').html(resultado.mensagem);
				} else {
					if (resultado.mensagem) {
						$('#agenda_dialog_msg_'+resultado.tipo).dialog('open');
						$('#agenda_dialog_msg_'+resultado.tipo+'_conteudo').html(resultado.mensagem);
					}
					$('#dialog_agendar').dialog('close');
					carregar_horarios();
				}
			}
		});		
		
	}

	function extra(agenda_id) {

		$('#AgendaExtraId').val(agenda_id);
		$('#agenda_dialog_extra').dialog('open');

	}	

	function encaixe(agenda_id) {

		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: root() + '/agendas/encaixe/' + agenda_id,
			async: true,
			beforeSend : function() {
				$('#dialog_agendar_conteudo').css('opacity','0.4');
			},
			success: function(retorno){
				if (!retorno.sucesso) {
					$('#agenda_dialog_msg_'+retorno.tipo).dialog('open');
					$('#agenda_dialog_msg_'+retorno.tipo+'_conteudo').html(retorno.mensagem);					
				} else {
					$('#AgendaId,#AgendaPacienteId,#AgendaPacienteNome,#AgendaObservacoesDoConvenio,#AgendaObservacoes,#AgendaPrecoProcedimento').val('');
					$('#span_telefones_paciente').html('');
					$('#AgendaHorario').val(retorno.horario);
					$('#span_horario').html(retorno.horario);
					$('#AgendaTipoHorario').val('E');
					$('#AgendaConvenioId').html('<option value="0">Selecione...</option>');
					$('#div_link_encaixe,#div_link_excluir,#div_link_extra').hide();
					$('#span_tipo_horario').html('ENCAIXE');
					$('#AgendaSituacao').html('<option value="1">Livre</option><option value="2" selected="selected">Agendado</option>');
					$('#AgendaTipoConfirmacaoId,#AgendaPrimeiraVez,#AgendaProcedimentoId').val('');
				}
				$('#dialog_agendar_conteudo').css('opacity','1');
			}
		});	

	}
		
	function excluir(agenda_id) {

		$('#AgendaExcluirId').val(agenda_id);
		$('#agenda_dialog_excluir').dialog('open');

	}
	
	function buscar_ultimo_atendimento() {

		$.ajax({
			type: 'POST',
			url: root() + '/agendas/buscar_ultimo_atendimento/',
			data: {
				paciente_id : $('#AgendaPacienteId').val(),
				medico_id : $('#AgendaMedicoId').val(),
				data_agenda : $('#AgendaDataAgenda').val(),
				horario : $('#AgendaHorario').val()
			},
			async: true,
			beforeSend : function() {},
			success: function(dt){
				$('#AgendaDataUltimaConsulta').val(dt);
			}
		});		
		
	}	

	function buscar_observacoes_agenda() {
		
		$.ajax({
			type: 'POST',
			url: '<?php echo $this->request->base; ?>/convenios/buscar_observacoes_agenda/' + $('#AgendaConvenioId').val(),
			async: true,
			beforeSend : function() {
				$('#AgendaObservacoesDoConvenio').val('Carregando...');
			},
			success: function(retorno){
				$('#AgendaObservacoesDoConvenio').val(retorno);
			}
		});

	}

	function buscar_telefones_paciente() {
		
		$.ajax({
			type: 'POST',
			url: '<?php echo $this->request->base; ?>/agendas/buscar_telefones_paciente/' + $('#AgendaPacienteId').val(),
			async: true,
			beforeSend : function() {
				$('#span_telefones_paciente').html('Pesquisando...');
			},
			success: function(retorno){
				$('#span_telefones_paciente').html(retorno);
			}
		});
				
	}

	function verificar_restricao() {

		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: '<?php echo $this->request->base; ?>/agendas/procurar_restricao/',
			data: {
				medico_id : $('#AgendaMedicoId').val(),
				paciente_id: $('#AgendaPacienteId').val()
			},
			async: true,
			beforeSend : function() {},
			success: function(retorno){
				if (retorno.restricao) {
					$('#RestricaoPacienteRecomendacoes').val(retorno.recomendacoes);
					$('#dados_horario').hide();
					$('#restricao_paciente').fadeIn();
				} else {
					//verificar_primeira_vez();
				}
			}
		});
	}

	/*
	function verificar_primeira_vez() {

		if ($('#AgendaPrimeiraVez').val() == 1) {
			return;
		}
		
		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: '$this->request->base/medicos/atende_primeira_vez/',
			data: {
				medico_id : $('#AgendaMedicoId').val(),
				convenio_id : $('#AgendaConvenioId').val(),
				paciente_id: $('#AgendaPacienteId').val()
			},
			async: true,
			success: function(retorno){
				if (!retorno.sucesso) {
					$('#RestricaoPacienteRecomendacoes').val(retorno.mensagem);
					$('#dados_horario').hide();
					$('#restricao_paciente').fadeIn();
				}
			}
		});

	}
	*/

	function confere_primeira_vez() {

		var primeira_vez = $("#AgendaPrimeiraVez").val();

		if (primeira_vez == 'S' || primeira_vez == 'N')
			return;

		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: '<?php echo $this->request->base; ?>/pacientes/confere_primeira_vez/',
			data: {
				medico_id 	: $('#AgendaMedicoId').val(),
				paciente_id	: $('#AgendaPacienteId').val()
			},
			async: true,
			success: function(retorno){

				if (retorno.primeira_vez) {
					$('#AgendaPrimeiraVez').val('');
				} else {
					$('#AgendaPrimeiraVez').val('N');
				}

			}
		});

	}	

	function busca_preco_procedimento() {

		var procedimento_id = $('#AgendaProcedimentoId').val();
		var convenio_id = $('#AgendaConvenioId').val();
		var medico_id = $('#AgendaMedicoId').val();
		
		$.ajax({
			type: 'POST',
			dataType: 'json',
			url: '<?php echo $this->request->base; ?>/procedimentos/busca_preco/' + procedimento_id + '/' + convenio_id + '/' + medico_id + '/',
			async: true,
			beforeSend : function() {
				$('#AgendaPrecoProcedimento').addClass('ui-autocomplete-loading');
			},
			success: function(retorno){
				$('#AgendaPrecoProcedimento').removeClass('ui-autocomplete-loading').val('');
				if (retorno.sucesso && retorno.paga_na_hora == 'S' && retorno.preco) {
					$('#AgendaPrecoProcedimento').val(retorno.preco);
				}
				if (retorno.obs_procedimento) {
					$('#agenda_dialog_msg_warning').dialog('open');
					$('#agenda_dialog_msg_warning_conteudo').html(retorno.obs_procedimento);						
				}				
			}
		});		
		
	}
	
</script>	